/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import java.io.Serializable;
import javax.persistence.*;

@NamedQueries(
    {
        @NamedQuery(name="Pessoa.getByLogin",
                    query="select pessoa from Pessoa pessoa " +
                          "where login=?"),
        @NamedQuery(name="Pessoa.getByNome",
                    query="select pessoa from Pessoa pessoa " +
                          "where nome=?"),
        @NamedQuery(name="Pessoa.getListaCompleta",
                    query="select pessoa from Pessoa pessoa " +
                          "order by nome")
})

/**
 *
 * @author heliokann
 */
@Entity
@Table(name="aspectj_pessoa", 
    uniqueConstraints={
        @UniqueConstraint(columnNames="login"), 
        @UniqueConstraint(columnNames="senha")
})
@SequenceGenerator(name = "Sequencia", sequenceName = "aspectj_pessoa_codpessoa_seq")
public class Pessoa implements Serializable{

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "Sequencia")
    private Long id;
    private String nome;
    @Column(nullable=false, unique=true, name="login")
    private String login;
    @Column(nullable=false, unique=true, name="senha")
    private String senha;
    
    public Pessoa(){
    }
    
    public Pessoa(String nome, String login, String senha){
        this.nome = nome;
        this.login = login;
        this.senha = senha;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return nome;
    }
    
    
}
